如何添加自定义帖子类型与Astra主题 您所在的位置:网站首页 thumbnail 文件夹 如何添加自定义帖子类型与Astra主题

如何添加自定义帖子类型与Astra主题

2023-03-19 21:58| 来源: 网络整理| 查看: 265

阿斯特拉主题以其灵活性而闻名。此外,您甚至可以使用astra_content_loop()将您的自定义内容添加到任何现有的文章类型。但有时候,你只是需要更多。因此,本文档将向您展示如何创建与Astra主题完美配合的自定义帖子类型。

您可能想知道为什么需要自定义邮件类型(CPT)?简单地说,在某些情况下,向现有的帖子类型和模板添加内容并不能提供所需的结果。因此,你可以选择添加一个全新的帖子类型,并根据你的需要塑造它。

添加自定义邮件类型(CPT)

在你的网站上添加cct可以带来很多好处。例如,您可以添加具有自定义布局和功能的CPT,使其适合于非标准内容。此外,每个CPT都有一个自定义的分类法,可以帮助您改进内容的组织方式。

为了说明这一点,我们将导入”业务”模板,并创建一个额外的CPT称为会话.

我们将使用的模板包含一个“交互式会话”页面。每个会话都有一些特定的信息,如日期、主持人和演讲者。我们将向您展示如何创建包含这些选项的CPT。此外,我们将“交互式会话”页面设置为显示会话的存档。

在开始之前,请确保您有Astra主题和您的阿斯特拉儿童主题集。此外,还可以导入”业务”入门模板到您的网站。如果您需要导入模板的任何帮助,可以这样做检查此文档.

现在,让我们向您展示如何注册我们的Sessions CPT。

登记自订邮件类型

你可以注册你的自定义帖子类型,并给他们任何你想要的名字。此外,您可以添加无限数量的cpt到您的网站。

要注册CPT,您需要向显然也你的Astra主题文件。这样做的问题是,你的cpt会在每次主题更新时被删除。因此,我们将把CPT注册到显然也阿斯特拉儿童主题文件。解释一下,当更新Astra主题时,子主题将保持我们所有注册的cpt和其他更改的安全。如果您仍然没有安装子主题,检查这个文档了解如何操作。

现在,按照以下步骤注册您的CPT:

步骤1-登录您的网站,并导航到仪表盘>外观>主题文件编辑器.在这里,在屏幕的右上角,选择你的Astra Child主题;

步骤2-接下来,在主题文件列表中,单击显然也打开文件;

步骤3—在文件已有代码下,增加如下代码:

//自定义发布类型函数aste_custom_post_type(){//基本会话发布类型register_post_type(' Session', array(' public' => true, 'rewrite' => array('slug' => 'sessions'), 'labels' => array(' name' => 'sessions', 'add_new_item' => '添加新会话','edit_item' => '编辑会话','all_items' => '所有会话','sinuglar_name' => 'Session'),);} //将函数连接到Astra主题add_action('init', 'astra_custom_post_types');

register_post_type是一个WordPress函数,用于注册文章类型。要使用这个函数,你只需要给它传递两个参数:自定义职位名称,以及帖子类型选项数组.

此外,您可以根据需要任意扩展代码。例如,一些附加参数是:

添加块编辑器支持:' show_in_rest ' => true 添加CPT存档:' has_archive ' => true 为CPT后期编辑器添加功能。在这个例子中,我们添加了标题字段、编辑器、摘录、特色图像、修订和自定义字段:' supports ' =>数组('标题','编辑器','摘录','缩略图','修订','自定义字段') dd图标到CPT的管理菜单项(dashicon)。在我们的示例中,我们选择了一个日历图标。你可以查阅可用的仪表盘列表并通过更改图标名称来使用您需要的图标:' menu_icon ' => ' dashicons-calendar '

现在,我们的CPT代码是这样的:

//扩展会话Post类型register_post_type(' Session', array(' public' => true, 'has_archive' => true, 'supports' => array('title', 'editor', '摘要','thumbnail', 'revisions', 'custom-fields'), 'show_in_rest' => true, 'rewrite' => array('slug' => 'sessions'), 'labels' => array(' name' => 'sessions', 'add_new_item' => '添加新会话','edit_item' => '编辑会话','all_items' => '所有会话','sinuglar_name' => 'Session'), 'menu_icon' => 'dashicon -calendar',);

此外,如果需要,还可以扩展标签列表。此外,您还可以通过使用添加所有参数来进一步扩展代码的args美元变量。在这里,您将使用以下代码来注册CPT:

Register_post_type ('movies', $args);

您可以找到更多详细信息和可用CPT选项的完整列表在这里.

现在您已经注册了新的CPT,您将在Dashboard菜单中注意到一个匹配的新菜单项。

更新永久链接结构

如果您创建并访问了一个新的CPT帖子,您将注意到您的网站显示“页面未找到”通知。这是因为当你注册你的CPT时,你网站的WordPress永久链接结构不会自动更新。因此,每当您添加一个新的CPT时,您都需要自己更新永久链接结构。要执行此操作,请导航到仪表盘>设置>永久链接.虽然你可以在这里更改你的永久链接,但这不是必需的-只需点击“保存更改”按钮。

为您的CPT和存档创建自定义模板

一旦你注册了CPT,是时候在前端检查它了。现在,你会注意到它看起来和你的常规帖子一样。这样做的原因是我们还没有为这个CPT添加任何定制模板。出于这个原因,WordPress使用位于single.php文件中的默认模板。

此外,如果你检查存档页面,你会注意到它看起来与你网站上的其他存档页面相同。原因是一样的。

要创建自定义模板,请遵循以下步骤:

步骤1-访问您的网站根文件夹,并导航到您的Astra Child主题文件夹(默认路径为:/wp-content/themes/ Astra - Child);

步骤2-为您的CPT post和存档添加单独的文件。请记住,这些文件需要以确切的格式命名:

单- {cpt-name}。php 归档——{cpt-name}。php

因此,我们将会话CPT文件命名为:

single-session.php archive-session.php

这将为您提供空模板,您可以以任何您想要的方式构建。

步骤2 b-或者,如果你想使用现有的Astra模板进行一些修改,可以复制原始文件。在这里,你可以从你的Astra主题文件夹(默认路径是:/wp-content/themes/ Astra -child)复制以下文件:

single.php archive.php

现在将这些文件添加到您的Astra Child主题文件夹中,并将它们重命名为:

single-session.php archive-session.php

这将为您提供与默认文件使用的模板完全相同的模板。现在您可以修改这些文件并更改CPT页面的外观。

这些模板将仅应用于您的CPT。请记住,这些文件需要放在您的Astra Child文件夹中。相反,如果放在Astra主题文件夹中,主题更新将删除CPT文件。

更新CPT的容器布局

虽然许多Astra Customizer设置将应用于您的cpt,但当涉及到容器布局时,有一些限制。

也就是说,你的CPT将遵循网站容器布局。但是,如果你想为你的CPT设置一个不同的布局,你需要添加以下代码到你的Astra Child Theme functions.php文件:

Add_filter (' aste_get_content_layout ', 'custom_post_type_content_layout');//根据自定义Post类型更新容器布局。//添加你的CPT而不是Session如果你想对多个CPT使用此布局,你可以将它们全部添加,通过coma分隔每个CPT(例如。“会话”、“事件”)。If (is_singular(array('session'))) {$layout = 'box -container';}返回$layout;}

在上面的代码中,您需要指定要应用的布局选项,以及应该应用该选项的cpt。对于不同的布局选项,您可以使用以下代码:

全宽/拉伸= ' page-builder ' 全宽/包含= ' plain-container ' 内容盒装= ' content-boxed-container ' 盒装= ' boxed-container ' 添加工具栏

与容器布局类似,默认的Sidebar Customizer设置将应用于cpt。

因此,要在CPT中添加侧边栏,您需要将其设置为整个网站的默认值:

步骤1-浏览至>外观>自定义>侧边栏;

步骤2-在“默认布局”下拉菜单中,选择“左侧工具栏”或“右侧工具栏”选项。

添加CPT内容

以前,我们向您展示了如何将块(古腾堡)编辑器的支持添加到您的CPT。因此,你可以添加你的帖子内容使用块编辑器开箱即用。

另一方面,如果您更喜欢使用Elementor或Buiver Builder,则需要为CPT启用它们。

要为CPT启用Elementor,请遵循以下步骤:

步骤1-导航到仪表板>元素或>设置,并点击“常规”选项卡;

步骤2-在“Post Types”下,检查你想用Elementor编辑的cts。点击“保存更改”按钮。

为CPT启用Beaver Builder,请遵循以下步骤:

步骤1-导航到仪表盘>设置>海狸Builder;

步骤2-点击“Post Types”选项,检查你想用Beaver Builder编辑的cts。点击“保存文章类型”按钮。

阿斯特拉循环

添加CPT的替代选项是使用astra_content_loop ().您可以使用此选项将CPT模板内容添加到现有的文章类型中,而不是创建一个新的自定义文章类型。要做到这一点,你需要将以下代码添加到Astra Child Theme functions.php文件中:

函数add_cpt_content(){//保释如果当前帖子类型不同。If ('cpt' !== get_post_type()){返回;} ?>

我的自定义主题HTML



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有